package main;

import hibernate.HibernateUtil;

import java.math.BigDecimal;
import java.util.List;

import org.apache.log4j.Logger;

import modelo.Empleado;
import dao.EmpleadoDAO;
import dao.EmpleadoDAOHibernateImp;

public class MainPruebasDAO {

	public static void main(String[] args) {
		EmpleadoDAO dao = new EmpleadoDAOHibernateImp();
		Logger logger = Logger.getLogger(MainPruebasDAO.class);
		
		try {
			logger.info("** Guardo a Diego");
			Empleado empleado = new Empleado();
			empleado.setApellido("MERNIES");
			empleado.setNombre("DIEGO ALEJANDRO");
			empleado.setSueldoBruto(new BigDecimal(15000));
			dao.save(empleado);
			
			logger.info("** Guardo a Hugo");
			empleado = new Empleado();
			empleado.setApellido("MERNIES");
			empleado.setNombre("HUGO SEBASTIAN");
			empleado.setSueldoBruto(new BigDecimal(10000));
			dao.save(empleado);
			
			logger.info("** Guardo a Lily");
			empleado = new Empleado();
			empleado.setApellido("GONZALEZ");
			empleado.setNombre("LIIANA BELEN");
			empleado.setSueldoBruto(new BigDecimal(18000));
			dao.save(empleado);
			
			empleado = dao.getById(1l, Empleado.class);
			if (empleado != null){
				logger.info("** Empleado encontrado = " + empleado.toString());
			}
			else{
				logger.info("** Empleado no encontrado");
			}
			
			List<Empleado> empleados = dao.getAll();
			
			if (empleados != null){
				System.out.println("******* EMPLEADOS *******");
				for (Empleado e : empleados){
					System.out.println("\t* " + e.toString());
				}
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		HibernateUtil.shutdown();
	}

}
